/**
 * 
 */
package mdb.com.vn.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * @author tu.dod
 * 
 */
@Entity
@Table(name = "IFTB_CUSTOMER_DETAIL")
@NamedQueries({ @NamedQuery(name = "Customer.findByGcif", query = "SELECT c FROM Customer c WHERE c.gcif = :gcif") })
public class Customer implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Column(name = "ADDRESS")
	private String address;

	@Column(name = "ADDRESS_TYPE")
	private String addressType;

	@Column(name = "BRANCH_CODE")
	private String branchCode;

	@Column(name = "CUSTOMER_NAME")
	private String customerName;

	@Column(name = "CUSTOMER_TYPE")
	private String customerType;

	@Temporal(TemporalType.DATE)
	private Date dob;

	@Column(name = "EMAIL_ADDRESS")
	private String emailAddress;

	@Id
	@Column(name = "GCIF")
	private String gcif;

	@Column(name = "GENDER")
	private String gender;

	@Column(name = "PHONE_AREA_CODE")
	private String phoneAreaCode;

	@Column(name = "PHONE_COUNTRY_CODE")
	private String phoneCountryCode;

	@Column(name = "PHONE_NUMBER")
	private String phoneNumber;

	@Column(name = "PHONE_TYPE")
	private String phoneType;

	@Column(name = "PRIMARY_ID_ISSUE_DATE")
	private String primaryIdIssueDate;

	@Column(name = "PRIMARY_ID_ISSUE_PLACE")
	private String primaryIdIssuePlace;

	@Column(name = "PRIMARY_ID_NUMBER")
	private String primaryIdNumber;

	@Column(name = "PRIMARY_ID_TYPE")
	private String primaryIdType;

	/**
	 * @return the address
	 */
	public String getAddress() {
		return address;
	}

	/**
	 * @param address
	 *            the address to set
	 */
	public void setAddress(String address) {
		this.address = address;
	}

	/**
	 * @return the addressType
	 */
	public String getAddressType() {
		return addressType;
	}

	/**
	 * @param addressType
	 *            the addressType to set
	 */
	public void setAddressType(String addressType) {
		this.addressType = addressType;
	}

	/**
	 * @return the branchCode
	 */
	public String getBranchCode() {
		return branchCode;
	}

	/**
	 * @param branchCode
	 *            the branchCode to set
	 */
	public void setBranchCode(String branchCode) {
		this.branchCode = branchCode;
	}

	/**
	 * @return the customerName
	 */
	public String getCustomerName() {
		return customerName;
	}

	/**
	 * @param customerName
	 *            the customerName to set
	 */
	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}

	/**
	 * @return the customerType
	 */
	public String getCustomerType() {
		return customerType;
	}

	/**
	 * @param customerType
	 *            the customerType to set
	 */
	public void setCustomerType(String customerType) {
		this.customerType = customerType;
	}

	/**
	 * @return the dob
	 */
	public Date getDob() {
		return dob;
	}

	/**
	 * @param dob
	 *            the dob to set
	 */
	public void setDob(Date dob) {
		this.dob = dob;
	}

	/**
	 * @return the emailAddress
	 */
	public String getEmailAddress() {
		return emailAddress;
	}

	/**
	 * @param emailAddress
	 *            the emailAddress to set
	 */
	public void setEmailAddress(String emailAddress) {
		this.emailAddress = emailAddress;
	}

	/**
	 * @return the gcif
	 */
	public String getGcif() {
		return gcif;
	}

	/**
	 * @param gcif
	 *            the gcif to set
	 */
	public void setGcif(String gcif) {
		this.gcif = gcif;
	}

	/**
	 * @return the gender
	 */
	public String getGender() {
		return gender;
	}

	/**
	 * @param gender
	 *            the gender to set
	 */
	public void setGender(String gender) {
		this.gender = gender;
	}

	/**
	 * @return the phoneAreaCode
	 */
	public String getPhoneAreaCode() {
		return phoneAreaCode;
	}

	/**
	 * @param phoneAreaCode
	 *            the phoneAreaCode to set
	 */
	public void setPhoneAreaCode(String phoneAreaCode) {
		this.phoneAreaCode = phoneAreaCode;
	}

	/**
	 * @return the phoneCountryCode
	 */
	public String getPhoneCountryCode() {
		return phoneCountryCode;
	}

	/**
	 * @param phoneCountryCode
	 *            the phoneCountryCode to set
	 */
	public void setPhoneCountryCode(String phoneCountryCode) {
		this.phoneCountryCode = phoneCountryCode;
	}

	/**
	 * @return the phoneNumber
	 */
	public String getPhoneNumber() {
		return phoneNumber;
	}

	/**
	 * @param phoneNumber
	 *            the phoneNumber to set
	 */
	public void setPhoneNumber(String phoneNumber) {
		this.phoneNumber = phoneNumber;
	}

	/**
	 * @return the phoneType
	 */
	public String getPhoneType() {
		return phoneType;
	}

	/**
	 * @param phoneType
	 *            the phoneType to set
	 */
	public void setPhoneType(String phoneType) {
		this.phoneType = phoneType;
	}

	/**
	 * @return the primaryIdIssueDate
	 */
	public String getPrimaryIdIssueDate() {
		return primaryIdIssueDate;
	}

	/**
	 * @param primaryIdIssueDate
	 *            the primaryIdIssueDate to set
	 */
	public void setPrimaryIdIssueDate(String primaryIdIssueDate) {
		this.primaryIdIssueDate = primaryIdIssueDate;
	}

	/**
	 * @return the primaryIdIssuePlace
	 */
	public String getPrimaryIdIssuePlace() {
		return primaryIdIssuePlace;
	}

	/**
	 * @param primaryIdIssuePlace
	 *            the primaryIdIssuePlace to set
	 */
	public void setPrimaryIdIssuePlace(String primaryIdIssuePlace) {
		this.primaryIdIssuePlace = primaryIdIssuePlace;
	}

	/**
	 * @return the primaryIdNumber
	 */
	public String getPrimaryIdNumber() {
		return primaryIdNumber;
	}

	/**
	 * @param primaryIdNumber
	 *            the primaryIdNumber to set
	 */
	public void setPrimaryIdNumber(String primaryIdNumber) {
		this.primaryIdNumber = primaryIdNumber;
	}

	/**
	 * @return the primaryIdType
	 */
	public String getPrimaryIdType() {
		return primaryIdType;
	}

	/**
	 * @param primaryIdType
	 *            the primaryIdType to set
	 */
	public void setPrimaryIdType(String primaryIdType) {
		this.primaryIdType = primaryIdType;
	}

}
